package com.f1ussh.serviceuser.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.f1ussh.common.result.Result;
import com.f1ussh.serviceuser.dto.PageDTO;
import com.f1ussh.serviceuser.dto.UserCreateDTO;
import com.f1ussh.serviceuser.dto.UserQueryDTO;
import com.f1ussh.serviceuser.dto.UserUpdateDTO;
import com.f1ussh.serviceuser.entity.User;
import com.f1ussh.common.result.PageResult;
import com.f1ussh.serviceuser.vo.UserVO;
import org.apache.ibatis.annotations.Param;

public interface UserService extends IService<User> {

    //分页查询
    Result<PageResult<UserVO>> selectUserPage(PageDTO pageDTO, @Param("query") UserQueryDTO queryDTO);

    Result<UserVO> selectUserById(Long id);

    Result<String> register(UserCreateDTO userDTO);

    boolean existsPhone(String phoneNumber);

    boolean existsEmail(String email);

    boolean existsUsername(String username);

    Result updateUser(Long id, UserUpdateDTO userDTO);

    /*Result<Boolean> deleteUser(Long userId);

    Result<Boolean> updateUserStatus(Long userId, Integer status);*/


}
